package pl.gigiel.jme.behaviour;

import pl.gigiel.behaviour.IBoid;
import pl.gigiel.behaviour.IBoidFeatures;
import pl.gigiel.behaviour.IEnvironment;
import pl.gigiel.behaviour.ISteerManager;
import pl.gigiel.behaviour.exception.BehaviourException;


public interface IBoidBodyFactory {
	<T extends IBoid, W extends IBoidBody> IBoidBody createBoidBody(Class<T> boidClass, Class<W> boidBodyClass, IEnvironment environment, ISteerManager steerManager, IBoidFeatures features) throws BehaviourException;
}
